const multer = require("koa-multer"); //解析上传文件
const { uuid } = require("../../utils");
const { UPLOAD_FILE_DIR } = require("../../sys_config");

let storage = multer.diskStorage({
  //定义文件保存路径
  destination: UPLOAD_FILE_DIR, //路径根据具体而定。如果不存在的话会自动创建一个路径
  filename: (ctx, file, cb) => {
    cb(null, file.originalname);
  },
  //修改文件名
  filename: function (req, file, cb) {
    //把原文件名的后缀保留 名字替换成独一无二uuid 防止文件写入时因为名字相同而覆盖文件
    const name = file.originalname.replace(/\w*(?=\.)/, uuid);
    cb(null, name);
  },
});

module.exports = { name: "multer", core: multer({ storage }) };
